A SAT Characterization of Boolean-Program Correctness
نویسنده
چکیده
Boolean programs, imperative programs where all variables have type boolean, have been used effectively as abstractions of device drivers (in Ball and Rajamani’s SLAM project). To find errors in these boolean programs, SLAM uses a model checker based on binary decision diagrams (BDDs). As an alternative checking method, this paper defines the semantics of procedure-less boolean programs by weakest solutions of recursive weakest-precondition equations. These equations are then translated into a satisfiability (SAT) problem. The method uses both BDDs and SAT solving, and it allows an on-the-fly trade-off between symbolic and explicit-state representation of the program’s initial state.
منابع مشابه
Industrial-Strength Formally Certified SAT Solving
Boolean Satisfiability (SAT) solvers are now routinely used in the verification of large industrial problems. However, their application in safety-critical domains such as the railways, avionics, and automotive industries requires some form of assurance for the results, as the solvers can (and sometimes do) have bugs. Unfortunately, the complexity of modern, highly optimized SAT solvers renders...
متن کاملEffectively-Propositional Reasoning about Reachability in Linked Data Structures
This paper proposes a novel method of harnessing existing SAT solvers to verify reachability properties of programs that manipulate linked-list data structures. Such properties are essential for proving program termination, correctness of data structure invariants, and other safety properties. Our solution is complete, i.e., a SAT solver produces a counterexample whenever a program does not sat...
متن کاملSeveral Issues on the Boolean Satisfiability (sat) Problem
Title of Thesis: Several Issues on the Boolean Satisfiability (SAT) Problem Degree candidate: Pushkin Raj Pari Degree and year: Master of Science, 2004 Thesis directed by: Professor Dr. Gang Qu Department of Electrical Engineering Boolean Satisfiability (SAT) is often used as the model for a significant and increasing number of applications in Electronics Design Automation (EDA) and many other ...
متن کاملA Critique of a Polynomial-time SAT Solver Devised by Sergey Gubin
This paper refutes the validity of the polynomial-time algorithm for solving satisfiability proposed by Sergey Gubin. Gubin introduces the algorithm using 3-SAT and eventually expands it to accept a broad range of forms of the Boolean satisfiability problem. Because 3-SAT is NP-complete, the algorithm would have implied P = NP, had it been correct. Additionally, this paper refutes the correctne...
متن کاملEffective Use of Boolean Satisfiability Procedures in the Formal Verification of Superscalar and VLIW Microprocessors1
We compare SAT-checkers and decision diagrams on the evaluation of Boolean formulas produced in the formal verification of both correct and buggy versions of superscalar and VLIW microprocessors. We identify one SAT-checker that significantly outperforms the rest. We evaluate ways to enhance its performance by variations in the generation of the Boolean correctness formulas. We reassess optimiz...
متن کامل